package com.liuwa.openapi.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Description:
 * @Author: Liuwa
 * @Date: 2023/10/29 17:40
 */
@ApiModel(description = "用户对象")
public class UserVo {

    /** 用户ID */
    @ApiModelProperty(name="user_id", required = true, value="用户ID")
    private Long userId;

    /** 账号 */
    @ApiModelProperty(name="username", required = true, value="账号")
    private String username;

    /** 昵称 */
    @ApiModelProperty(name="nick_name", required = true, value="昵称")
    private String nickName;

    /** 头像 */
    @ApiModelProperty(name="avatar", required = true, value="头像")
    private String avatar;

    /** 性别 */
    @ApiModelProperty(name="gender", required = true, value="性别")
    private Integer gender;

    /** 省份 */
    @ApiModelProperty(name="province", required = true, value="省份")
    private String province;

    /** 城市 */
    @ApiModelProperty(name="city", required = true, value="城市")
    private String city;

    /** 手机号 */
    @ApiModelProperty(name="phone", required = true, value="手机号")
    private String phone;

    /** 邮箱 */
    @ApiModelProperty(name="email", required = true, value="邮箱")
    private String email;

    /**
     * 是否已设置密码
     */
    @ApiModelProperty(name="has_password", required = true, value="邮箱")
    private boolean hasPassword;


    /** 收入金额 */
    @ApiModelProperty(name="income", required = true, value="收入金额")
    private BigDecimal income;


    /** 钱包 */
    @ApiModelProperty(name="wallet", required = true, value="钱包")
    private BigDecimal wallet;

    /** 简介 */
    @ApiModelProperty(name="introduction", required = true, value="简介")
    private String introduction;

    /** 密保问题 */
    @ApiModelProperty(name="security_questions", required = true, value="密保问题")
    private List<String> securityQuestions;

    /** 最后登录IP */
    @ApiModelProperty(name="login_ip", required = true, value="最后登录IP")
    private String loginIp;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(name="login_time", required = true, value="最后登录时间")
    private Date loginTime;

    /** 状态 */
    @ApiModelProperty(name="status", required = true, value="状态")
    private Integer status;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public boolean isHasPassword() {
        return hasPassword;
    }

    public void setHasPassword(boolean hasPassword) {
        this.hasPassword = hasPassword;
    }

    public BigDecimal getIncome() {
        return income;
    }

    public void setIncome(BigDecimal income) {
        this.income = income;
    }



    public BigDecimal getWallet() {
        return wallet;
    }

    public void setWallet(BigDecimal wallet) {
        this.wallet = wallet;
    }

    public String getIntroduction() {
        return introduction;
    }

    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    public List<String> getSecurityQuestions() {
        return securityQuestions;
    }

    public void setSecurityQuestions(List<String> securityQuestions) {
        this.securityQuestions = securityQuestions;
    }

    public String getLoginIp() {
        return loginIp;
    }

    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp;
    }

    public Date getLoginTime() {
        return loginTime;
    }

    public void setLoginTime(Date loginTime) {
        this.loginTime = loginTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

}
